import {CN} from './config'
export default class Utils{
	static injectStyle(cssText,data,pk){
		cssText = Utils.parseCssText(cssText,data)
		return document.appendStyle(cssText,pk)
	}
	static parseCssText(cssText,data){
		if(/\#\{/.test(cssText))
			cssText = cssText.replace(/\#\{/g,"${")
		cssText = new Function("cn","icn","return `"+cssText+"`")(CN,data)
		return cssText
	}
	static parseText(cssText,data){
		if(/\#\{/.test(cssText))
			cssText = cssText.replace(/\#\{/g,"${")
		cssText = new Function("data","return `"+cssText+"`")(data)
		return cssText
	}
	static dataTransform(v,type){
		switch(type){
			case "number":
			case "boolean":
			case "array":
			case "object":
				return new Function("return "+v)()
			default:
				return v
		}
	}
	static upperFLetter(input){
		return input.replace(/^[\w]/,(a)=>"on"+a.toUpperCase())
	}
}